package com.db.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SysResult implements Serializable {
	/* 用于表示服务端响应到客户端数据的状态码 */
	private Integer state = 1; //1 正确,0 错误

	/* 用于记录状态码对应的状态信息 */
	private String message = "ok"; //消息

	/* 这个属性用于存储业务层返回给控制层的数据,或者是控制层自己封装的数据 */
	private Object data; //业务层要返回的结果(业务层返回给控制层数据不知道什么类型)

	/* 当保存,删除,更新以后,给出一个消息,可以调用此构造函数封装消息,例如:update OK */
	public SysResult(String message) {
		this.message = message;
	}

	/* 假如希望封装业务层查询到数据,可以使用此构造 */
	public SysResult(Object data) {
		this.data = data;
	}

	/* 加入希望封装控制层出现的异常信息,可以使用此构造 */
	public SysResult(Throwable e) {
		this.state = 0;
		this.message = e.getMessage();
	}

}
